Public Class BlockLog_Factory
    Public Function AverageDailyBlockingCounts( _
                ByVal sWeekBeginning As String, _
                ByVal lDatabaseID As Long) As DataTable

        Dim oFactory As New DBBlockLog_Factory
        Return oFactory.AverageDailyBlockingCounts(sWeekBeginning, lDatabaseID)
    End Function

    Public Function AverageDayBlockingCounts( _
                ByVal sDay As String, _
                ByVal lDatabaseID As Long) As DataTable

        Dim oFactory As New DBBlockLog_Factory
        Return oFactory.AverageDayBlockingCounts(sDay, lDatabaseID)
    End Function

    Public Function AverageWeeklyBlockingCounts( _
                    ByVal lCountOfWeeks As Long, _
                    ByVal lDatabaseID As Long) As DataTable

        Dim oFactory As New DBBlockLog_Factory
        Return oFactory.AverageWeeklyBlockingCounts(lCountOfWeeks, lDatabaseID)
    End Function

    Public Function AllDetailForPeriod( _
                        ByVal sStartDate As String, _
                        ByVal sEndDate As String, _
                        ByVal lDatabaseID As Long) As DataTable

        Dim oFactory As New DBBlockLog_Factory
        Return oFactory.AllDetailForPeriod(sStartDate, sEndDate, lDatabaseID)
    End Function

    Public Sub RemoveExpiredData()
        Dim oConfiguration As New Config_Factory
        Dim iExpirationPeriod As Integer = oConfiguration.GetValueFromName("BLOCKING_RETENTION_PERIOD")

        Dim oFactory As New DBBlockLog_Factory

        oFactory.RemoveExpiredData(iExpirationPeriod)
    End Sub
End Class
